The present invention relates to data storage, and more particularly, to error protection of data stored using variable-length headers.
In modern mass data storage systems, such as magnetic tape storage devices, data which is written on the tape is protected by one or more error correction codes (ECCs). For data correction, data which is read from the tape is conceptually arranged into a large matrix and is protected by two orthogonal error correcting codes, referred to typically as C1 and C2. The large data matrix is referred to as a sub data set (SDS). The C1 code is used to correct the rows of the SDS and the C2 code is used to correct the columns. Furthermore, data is divided into multiple byte-interleaved C1 codewords in each row, referred to as a codeword interleave (CWI). This error correction methodology is very powerful. However, in order for this error correction methodology to work, the data has to be placed into the correct locations in the SDS. If the data's location cannot be determined, then the error correction methodology cannot be applied to this data. Therefore, the data location information is stored in a field called the header.
Furthermore, each header that is used to store data location information takes up space which could be allocated for data, thereby reducing the storage efficiency of data storage schemes which utilize headers and adding to overhead for storage of the data. Headers associated with CWIs that have been used in all linear tape open (LTO) and enterprise tape drives have a fixed size. For example, 10-byte headers have been used in the first four LTO tape drive generations (LTO-1 to LTO-4); 12-byte headers have been used in the last two LTO tape drive generations (LTO-5 and LTO-6); and it is anticipated that 12-byte headers will be used in future LTO tape drives (LTO-7).